System and method for breakaway clutching in an articulated arm

ABSTRACT

A system and method of breakaway clutching in a device includes an arm including a first joint and a control unit coupled to the arm and including one or more processors. The control unit switches the first joint from a first state of the first joint to a second state of the first joint in response to an external stimulus applied to the arm exceeding a first threshold and switches the first joint from the second state to the first state in response to a speed associated with the first joint falling below a speed threshold. Movement of the first joint is more restricted in the first state of the first joint than in the second state of the first joint. In some embodiments, the external stimulus applied to the arm is a stimulus detected on the first joint or a stimulus detected on a second joint of the arm.

RELATED APPLICATIONS

The present application is a continuation of U.S. patent applicationSer. No. 16/014,619 filed Jun. 21, 2018, which is a continuation of U.S.patent application Ser. No. 15/126,996 filed Sep. 16, 2016 and now U.S.Pat. No. 10,034,717, which is the U.S. national phase of InternationalApplication No. PCT/US2015/021074 filed Mar. 17, 2015, which designatedthe U.S. and claims priority to U.S. Provisional Patent Application No.61/954,120 entitled “System and Method for Breakaway Clutching in anArticulated Arm” filed Mar. 17, 2014, the entire contents of each ofwhich are herein incorporated by reference.

TECHNICAL FIELD

The present disclosure relates generally to operation of devices witharticulated arms and more particularly to breakaway clutching of thearticulated arms.

BACKGROUND

More and more devices are being replaced with autonomous andsemiautonomous electronic devices. This is especially true in thehospitals of today with large arrays of autonomous and semiautonomouselectronic devices being found in operating rooms, interventionalsuites, intensive care wards, emergency rooms, and the like. Forexample, glass and mercury thermometers are being replaced withelectronic thermometers, intravenous drip lines now include electronicmonitors and flow regulators, and traditional hand-held surgicalinstruments are being replaced by computer-assisted medical devices.

These electronic devices provide both advantages and challenges to thepersonnel operating them. Many of these electronic devices may becapable of autonomous or semi-autonomous motion of one or morearticulated arms and/or end effectors. Before these articulated arms andtheir end effectors may be used, they are typically moved to or near adesired working position and orientation. This movement may be performedby teleoperation or remote operation using one or more user inputcontrols. As the complexity of these electronic devices increases andthe articulated arms include large numbers of degrees of freedom,movement into the desired working position and orientation byteleoperation may become complex and/or time consuming. To streamlinethis operation, some articulated arms include a clutched or float statewhere one or more of the brakes and/or the actuators on the joints ofarticulated arms are released, allowing an operator to manually changethe positions and/or the orientations of the articulated arms via directmanipulation. In this way the articulated arms may be quickly and easilypositioned and/or oriented as desired. The clutch or float state isoften engaged by manually activating one or more clutch controls on thearticulated arm and/or selecting the clutch or float state at anoperator console. This type of manual activation may be inconvenientand/or imprudent.

Accordingly, improved methods and systems for clutching articulated armsis desirable.

SUMMARY

Consistent with some embodiments, a computer-assisted medical deviceincludes an articulated arm having one or more first joints and acontrol unit coupled to the articulated arm and having one or moreprocessors. The control unit operates each of the first joints inmultiple states. The multiple states include a locked state, whereinmovement of respective first joints is restricted, and a float state,wherein movement of the respective first joints is permitted. Thecontrol unit further switches one or more second joints selected fromthe first joints from the locked state to the float state when astimulus on the second joints exceeds one or more unlock thresholds andswitches the second joints from the float state to the locked state whena velocity of each of the second joints is below one or more lockthresholds.

Consistent with some embodiments, a method of controlling motion in amedical device includes operating each of one or more first joints of anarticulated arm of the medical device in one of multiple states. Themultiple states include a locked state, wherein movement of respectivejoints is restricted, and a float state, wherein movement of therespective joints is permitted. The method further includes determininga stimulus on one or more second joints selected from the joints,switching the second joints from the locked state to the float statewhen the stimulus exceeds one or more unlock thresholds, determining avelocity of each of the second joints, and switching the second jointsfrom the float state to the locked state when the velocity of each ofthe second joints is below one or more lock thresholds.

Consistent with some embodiments, a non-transitory machine-readablemedium comprising a plurality of machine-readable instructions whichwhen executed by one or more processors associated with a medical deviceare adapted to cause the one or more processors to perform a method. Themethod includes operating each of one or more first joints of anarticulated arm of the medical device in one of multiple states. Themultiple states include a locked state, wherein movement of respectivejoints is restricted, and a float state, wherein movement of therespective joints is permitted. The method further includes determininga stimulus on one or more second joints selected from the first joints,switching the second joints from the locked state to the float statewhen the stimulus exceeds one or more unlock thresholds, determining avelocity of each of the second joints, and switching the second jointsfrom the float state to the locked state when the velocity of each ofthe second joints is below one or more lock thresholds.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a simplified diagram of a computer-assisted system accordingto some embodiments.

FIG. 2 is a simplified diagram showing an articulated arm according tosome embodiments.

FIG. 3 is a simplified diagram of a method of breakaway clutchingaccording to some embodiments.

In the figures, elements having the same designations have the same orsimilar functions.

DETAILED DESCRIPTION

In the following description, specific details are set forth describingsome embodiments consistent with the present disclosure. It will beapparent to one skilled in the art, however, that some embodiments maybe practiced without some or all of these specific details. The specificembodiments disclosed herein are meant to be illustrative but notlimiting. One skilled in the art may realize other elements that,although not specifically described here, are within the scope and thespirit of this disclosure. In addition, to avoid unnecessary repetition,one or more features shown and described in association with oneembodiment may be incorporated into other embodiments unlessspecifically described otherwise or if the one or more features wouldmake an embodiment non-functional.

FIG. 1 is a simplified diagram of a computer-assisted system 100according to some embodiments. As shown in FIG. 1, computer-assistedsystem 100 includes a device 110 with one or more movable or articulatedarms 120. Each of the one or more articulated arms 120 may support oneor more end effectors. In some examples, device 110 may be consistentwith a computer-assisted surgical device. The one or more articulatedarms 120 each provide support for surgical instruments, imaging devices,and/or the like. Device 110 may further be coupled to an operatorworkstation (not shown), which may include one or more master controlsfor operating the device 110, the one or more articulated arms 120,and/or the end effectors. In some embodiments, device 110 and theoperator workstation may correspond to a da Vinci® Surgical Systemcommercialized by Intuitive Surgical, Inc. of Sunnyvale, Calif. In someembodiments, computer-assisted surgical devices with otherconfigurations, fewer or more articulated arms, and/or the like may beused with computer-assisted system 100.

Device 110 is coupled to a control unit 130 via an interface. Theinterface may include one or more cables, connectors, and/or buses andmay further include one or more networks with one or more networkswitching and/or routing devices. Control unit 130 includes a processor140 coupled to memory 150. Operation of control unit 130 is controlledby processor 140. And although control unit 130 is shown with only oneprocessor 140, it is understood that processor 140 may be representativeof one or more central processing units, multi-core processors,microprocessors, microcontrollers, digital signal processors, fieldprogrammable gate arrays (FPGAs), application specific integratedcircuits (ASICs), and/or the like in control unit 130. Control unit 130may be implemented as a stand-alone subsystem and/or board added to acomputing device or as a virtual machine. In some embodiments, controlunit may be included as part of the operator workstation and/or operatedseparately from, but in coordination with the operator workstation.

Memory 150 may be used to store software executed by control unit 130and/or one or more data structures used during operation of control unit130. Memory 150 may include one or more types of machine readable media.Some common forms of machine readable media may include floppy disk,flexible disk, hard disk, magnetic tape, any other magnetic medium,CD-ROM, any other optical medium, punch cards, paper tape, any otherphysical medium with patterns of holes, RAM, PROM, EPROM, FLASH-EPROM,any other memory chip or cartridge, and/or any other medium from which aprocessor or computer is adapted to read.

As shown, memory 150 includes a motion control application 160 that maybe used to support autonomous and/or semiautonomous control of device110. Motion control application 160 may include one or more applicationprogramming interfaces (APIs) for receiving position, motion, and/orother sensor information from device 110, exchanging position, motion,and/or collision avoidance information with other control unitsregarding other devices, and/or planning and/or assisting in theplanning of motion for device 110, articulated arms 120, and/or the endeffectors of device 110. And although motion control application 160 isdepicted as a software application, motion control application 160 maybe implemented using hardware, software, and/or a combination ofhardware and software.

In some embodiments, computer-assisted system 100 may be found in anoperating room and/or an interventional suite. And althoughcomputer-assisted system 100 includes only one device 110 with twoarticulated arms 120, one of ordinary skill would understand thatcomputer-assisted system 100 may include any number of devices witharticulated arms and/or end effectors of similar and/or different designfrom device 110. In some examples, each of the devices may include feweror more articulated arms and/or end effectors.

FIG. 2 is a simplified diagram showing an articulated arm 200 accordingto some embodiments. For example, the articulated arm 200 may be aportion of one of the articulated arms 120 in device 110. As shown inFIG. 2, the articulated arm 200 includes various links and joints. Atthe most proximal end of the articulated arm 200 is coupled to aplatform 210. In some examples, platform 210 may be at a distal end ofadditional joints and links (not shown) from a computer-assisted device.Coupled to platform 210 is a series of set-up joints and links 220. Theset-up joints and links 220 is rotationally coupled to platform 210 viaa first set-up linkage joint 222. In some examples, additional set-uplinks and joints for other articulated arms (not shown) may berotationally coupled to platform 210 using additional first set-uplinkage joints. Coupled to the first set-up linkage joint 222 is aset-up base linkage 224 that is coupled to a proximal end of a set-uplinkage extension link 226 via a first set-up linkage prismatic joint228. A distal end of the set-up linkage extension link 226 is coupled toa proximal end of a set-up linkage vertical link 230 via a second set-uplinkage prismatic joint 232. A distal end of the set-up linkage verticallink 230 is rotationally coupled to a proximal end of a support link 234via a second set-up linkage joint 236. A first rotational joint 238 iscoupled to a distal end of the support link 234. The first rotationaljoint 238 provides rotational control over the additional links andjoints located distal to the first rotational joint 238. In someexamples, a central axis 250 of the first rotational joint 238 may bealigned with a remote center 290 that may be fixed in location duringteleoperation of the articulated arm 200.

A coupling link 240 couples the first rotational joint 238 to a secondrotational joint 242. The second rotational joint 240 is coupled to ayaw joint 252 via a yaw link 254. Coupled distal to the yaw joint 252 isa parallelogram pitch mechanism 260. At a proximal end of theparallelogram pitch mechanism 260 is a first pitch link 262 coupling theyaw joint 252 to a first pitch joint 264. A second pitch link 266couples the first pitch joint 264 to a second pitch joint 268. A thirdpitch link 270 couples the second pitch joint 268 to a third pitch joint272. An instrument carriage is coupled to the third pitch joint 272 andincludes an instrument shaft 280. One or more end effectors may becoupled to a distal end of the instrument shaft 280. In some examples,the parallel pitch mechanism 260 may be controlled to maintain theinstrument shaft 280 in alignment with the remote center 290.

As shown in FIG. 2, the articulated arm 200 includes numerous linkages224, 226, 230, 234, 240, 254, 262, 266, 270, and 280 whose relativepositions and/or orientations may be adjusted using numerous prismaticjoints 228 and 232 as well as numerous rotational joints 222, 236, 238,242, 262, 264, 268, and 272. Each of the prismatic and rotational jointsmay include one or more sensors for sensing position, rotation,movement, force, torque, and/or the like on the respective joints.

Depending upon the desired ability to control the articulated arm 200each of the various joints may be non-actuated or actuated joints. Insome examples, a non-actuated joint may not include any actuators sothat it is not capable of motion via teleoperation and/or motion controlcommands from a control unit for the articulated arm 200. In someexamples, the non-actuated joint may include a brake the permits thecontrol unit to prevent and/or restrict motion in the non-actuatedjoint. In the examples, of FIG. 2, joints 228, 232, and/or 236 may benon-actuated joints. In some examples, an actuated joint may include oneor more actuators that may control motion of the actuated joint viateleoperation and/or motion commands. In some examples, an actuatedjoint may further include a brake.

In some embodiments, to prevent unwanted movement the various joints andlinks in the articulated arm 200 may be placed in a locked state whereeach of the non-actuated joint brakes are activated and each of theactuated joint actuators are commanded to hold the actuated joints at acommanded position. In some examples, the locked state may additionallyprevent unwanted motion due to gravity acting on the articulated arm200. Although not shown in FIG. 2, the articulated arm 200 may includeone or more clutch buttons or controls. In some examples, the clutchbuttons may be located at various locations along the instrumentcarriage. In some examples, additional clutch controls may be activatedvia operator controls at an operator console. By activating one or moreof the clutch buttons or controls, one or more joints of the articulatedarm may be switched from the locked state to a clutched or float statein which at least some of the non-actuated joint brakes may be at leastpartially released and at least some of the of the actuated jointactuators may permit motion of the joint away from the commandedpositions. For example, activation of a clutch button located on thearticulated arm 200 may place the articulated arm 200 in the float statewhile other portions of the computer-assisted device coupled to theplatform 210 remain in the locked state. While the joints of thearticulated arm 200 are in the float state, an operator may manuallyposition and/or orient the articulated arm 200 into a desired workingposition and orientation.

In some embodiments, manual activation of the clutching mechanisms ofthe articulated arm 200 may not always be practical and/or prudent. Insome examples, location of the clutch buttons or controls may not beconvenient for easy activation by an operator. In some examples, theoperator may not have a free finger and/or hand to operate the clutchcontrols. In some examples, coordination of the clutch controls withanother operator located at an operator console may not be possibleand/or practical. In some examples, the operator may not be able tooperate the clutch controls without breaking a sterile field establishedaround portions of the articulated arm 200. Thus, it would beadvantageous to have at least portions of the articulated arm 200 enterthe float state without activation of a clutch control by an operator.

In some embodiments, movement of the articulated arm 200 may be desiredwithout manual clutch activation. In some examples, inadvertentcollisions may occur between the operator, a patient, and/or an objectand one or more links and/or joints of the articulated arm 200. In someexamples, these inadvertent collisions may result in injury to theoperator, injury to the patient, damage to the object, and/or damage tothe articulated arm 200 due to the rigid position and/or orientationbeing maintained by the articulated arm 200. In some examples, beingable to detect an inadvertent collision and have the articulated arm 200automatically enter the float state may reduce injury to the operator,injury to the patient, damage to the object, and/or damage to thearticulated arm 200.

FIG. 3 is a simplified diagram of a method 300 of breakaway clutchingaccording to some embodiments. One or more of the processes 310-360 ofmethod 300 may be implemented, at least in part, in the form ofexecutable code stored on non-transient, tangible, machine readablemedia that when run by one or more processors (e.g., the processor 140in control unit 130) may cause the one or more processors to perform oneor more of the processes 310-360. In some embodiments, the method 300may be performed by an application, such as motion control application160.

At a process 310, a locked state is entered. Joints of an articulatedarm, such as articulated arms 120 and/or 200 may be placed in the lockedstate by default. In the locked state, motion of the articulated arm maybe prevented and/or reduced by activating brakes in each of thenon-actuated joints of the articulated arm and holding each of theactuated joints of the articulated arm at a respective commandedposition using corresponding actuated joint actuators.

At a process 320, external stimulus on one or more joints is determined.The one or more sensors associated with each of the joints of thearticulated arm are periodically read and/or monitored to determinewhether there is any external stimulus being applied to the one or morejoints of the articulated arm. In some examples, linear sensorsassociated with prismatic joints and/or rotation sensors associated withrotational joints are monitored to determine actual positions ofrespective joints. In some examples, position errors may be determinedbased on differences between the actual positions and commandedpositions in actuated joints and/or braked positions in non-actuatedjoints. In some examples, the position errors may be converted toapproximate forces and/or torques on the respective joints by using oneor more kinematic models, inverse Jacobian transposes, and/or controlmodels for the respective joints. In some examples, the forces and/ortorques on the respective joints may be measured using force and/ortorque sensors, respectively, monitoring the respective joints. In someexamples, joint velocities of the actuated joints may also be determinedusing one or more velocity sensors associated with actuated joints ornumerically based on changes in the actual positions of the actuatedjoints.

At a process 330, it is determined whether the external stimulus on anyof the joints exceeds an unlock threshold. The external stimulus valuesof each of the joints determined during process 320 is compared to oneor more unlock thresholds to see whether any of the unlock thresholdsare exceeded. In some examples, joints of the articulated arm may beswitched to the float state using a process 340 when any one of theexternal joint stimulus values exceeds a respective unlock threshold. Insome examples, joints of the articulated arm may be switched to thefloat state when a combination of two or more of the external jointstimulus values exceed respective unlock thresholds. In some examples,joints of the articulated arm may be switched to the float state when aweighted and/or un-weighted aggregation of external stimulus values fromtwo or more joints exceeds a composite unlock threshold. In someexamples, the aggregation may include an average, a median, a sum ofsquares, a minimum, a maximum, and/or like.

In some examples, each of the unlock thresholds for the respectivejoints may be different depending upon the location and/or purpose ofthe respective joints in the articulated arm. In some examples, theunlock thresholds may be adjusted based on a current pose, position,and/or orientation of the articulated arm. In some examples, the unlockthreshold for a respective joint may be adjusted and/or disabled whenthe respective joint is beyond a soft stop near an end of possiblemotion for the respective joint. In some examples, the float state maybe activated by default when the respective joint is beyond a soft stop.In some examples, determination of whether the external stimulus exceedsa threshold may be limited to a subset of the joints in the articulatedarm. In some examples, external stimulus on non-actuated joints, whichare braked, may not be monitored during process 320 and may not havecorresponding unlock thresholds. In some examples, the unlock thresholdsmay be adjusted based on a size and/or a mass of the articulated arm. Insome examples, the unlock thresholds may be large enough to avoidaccidental switching to the float state due to gravitational forcesand/or errors in the joint sensors.

In some examples, an unlock threshold may correspond to a thresholdvalue associated with a position error between an actual position of ajoint and a commanded and/or braked position of the joints. In someexamples, the threshold value may be between 0.02 and 5 millimeters fora prismatic joint. In some examples, the threshold value may be between0.03 and 0.5 degrees for a rotational joint. In some examples, one ormore unlock thresholds may correspond to a force and/or torque beingapplied to the joint, either as measured and/or as determined duringprocess 320. In some examples, the threshold value may be between 1 and30 N for a force on a prismatic joint. In some examples, the thresholdvalue may be between 1 and 30 N-m for a torque on a rotational joint. Insome examples, the threshold value may exceed a force and/or torquesaturation value for the joint.

In some embodiments, the unlock thresholds should be exceeded for apredetermined period of time before switching the articulated arm to thefloat state. In some examples, joints of the articulated arm may beswitched to the float state when a respective external stimulus valueexceeds a corresponding unlock threshold continuously for thepredetermined period of time. In some examples, joints of thearticulated arm may be switched to the float state when an aggregate,such as an average, of a respective external stimulus value over thepredetermined period of time exceeds a respective stimulus value. Insome examples, a sliding window and/or exponential smoothing may be usedto determine the aggregate. In some examples, a filter may be used onthe sensed external stimulus which puts an emphasis on mid-frequenciesin order to better isolate disturbances due to human intention fromdisturbances due to gravity and other environmental factors which may beat low frequencies. In some examples, the mid-frequencies may extendfrom approximately 0.01 Hz to 10 Hz. In some examples, a discretewavelet transform may be used in place of or combined with a filter tobetter isolate disturbances due to human intention. In some examples,the predetermined period of time may be set by an operator. In someexamples, the predetermined period of time may be between 50 and 150milliseconds. In some examples, the predetermined period of time may bedifferent a first time breakaway clutching is activated, to avoidaccidental switching to the float state due to residual momentum in thearticulated arm due to other recently completed motion and/or staticdisturbances from the environment being confused with user input. Insome examples, the locked state should be established with the externalstimulus below the unlock threshold for a predetermined period of timebefore the first time breakaway clutching is activated, to avoidaccidental switching to the float state due to likely transientsituations, such as when an articulated arm is undocked from a patient,an end effector is attached or removed from the articulated arm, and/orthe like. In some examples, the predetermined time may be extendedbetween an additional 100 and 250 milliseconds after breakaway clutchingis enabled.

When the external stimulus does not exceed the one or more unlockthresholds, the external stimulus is determined again using process 320.When the external stimulus exceeds the one or more unlock thresholds,joints of the articulated arm are switched to the float state usingprocess 340.

At the process 340, the float state is entered. One or more of thejoints of the articulated arm are placed in a float state where freeand/or mostly free movement of the joints is permitted. In someexamples, the joints being placed in the float state may be a subset ofthe joints in the articulated arm. In some examples, this permitsbreakaway clutching to apply to those portions of the articulated armsubject to the external stimulus. In some examples, the brakes on eachof the non-actuated joints being placed in the float state may bereleased allowing motion of each of the non-actuated joints. In someexamples, each of the actuated joints being placed in the float statemay be commanded to move to the actual positions determined duringprocess 320 or while the actuated joints remain in the float state. Insome examples, each of the actuated joints being placed in the floatstate may also be commanded to match the joint velocities determinedduring process 320 or while the actuated joints remain in the floatstate. In some examples, setting the command positions of a feedbackcontroller of the actuated joints to the actual positions and/or thecommand velocities of the feedback controller to the actual jointvelocities gives the impression that the actuated joints are movingfreely, and when gravity compensation is also being applied, then alsowith the impression of apparent weightlessness.

In some embodiments, the movement of the joints in the float state maybe subject to damping. To reduce and/or prevent unrestricted and/or wildmovement of the articulated arm while in the float state, one or more ofthe joints placed in the float state may be subject to some form ofdamped motion. For example, it may not be desirable for an articulatedarm subject to a strong external stimulus, such as a hard collision, tomove away from the strong external stimulus without some limitation.Constraining the clutched movement may reduce the risks of injury and/ordamage caused by a fast moving articulated arm. In some examples, thedamped motion may be implemented on non-actuated joints by partiallyreleasing the brakes so as to place a drag on movement of thenon-actuated joints. In some examples, the brakes may be partiallyreleased by controlling one or more voltage, currents, duty cycles,and/or the like of signals used to control the brakes. In some examples,the damped motion may be implemented on actuated joints by commandingthe actuated joints to move a portion of the distance behind the actualposition based on direction of motion, by increasing a derivativeconstant in the feedback controller without significantly affecting itsstability margins, and/or by introducing a backward current and/orvoltage on the actuators of the actuated joints to emulate a resistingforce and/or torque. In some examples, the damped motion may beimplemented on actuated joints by commanding the velocities of theactuated joints to a value below the joint velocities determined duringprocess 320 or while the actuated joints remain in the float state. Insome examples, the damped motion may be adjusted to account for acurrent pose, position, and/or orientation of the articulated arm, asize and/or a mass of the articulated arm, and/or the like.

In some embodiments, one or more of the joints in the articulated armthat are not placed in the float state may be subject to compliantmotion restrictions. In some examples, the joints not placed in thefloat state may be commanded in response to detected movements of thejoints placed in the float state. In some examples, the joints notplaced in the float state may be commanded to one or more positionsand/or orientations. In the examples, of FIG. 2, one or more of thejoints in the parallelogram pitch mechanism 260 may be commanded tomaintain intersection of the instrument shaft 280 with the central axis250 at the remote center 290.

At a process 350, joint velocities are determined. The one or moresensors associated with each of the joints of the articulated arm areperiodically read and/or monitored to determine the velocities of eachof the joints that are in the float state. In some examples, changes inlinear and/or rotational position between two consecutive monitoringintervals are used to estimate the joint velocities. In some examples,numerical and/or other differentiation techniques may be used todetermine the joint velocities from the sensed positions. In someexamples, velocity sensors on the joints may be monitored.

At a process 360, it is determined whether the joint velocities dropbelow a lock threshold. During breakaway clutching, the joints of thearticulated arm are kept in the float state as long as continued motionof the articulated arm is detected. The joint velocities determinedduring process 350 are compared to one or more lock thresholds to seewhether any continuing motion is detected in the articulated arm. Insome examples, each of the joint velocities may be compared to acorresponding lock threshold. When each of the joint velocities is belowits corresponding lock threshold, lack of motion is detected and thejoints of the articulated arm are switched to the locked state usingprocess 310. In some examples, joints of the articulated arm may beswitched to the locked state using process 310 when a weighted and/orun-weighted aggregation of joint velocities from each of the joints isbelow a composite lock threshold. In some examples, the aggregation mayinclude an average, a median, a sum of squares, a minimum, a maximum,and/or like.

In some examples, each of the lock thresholds for respective joints maybe different depending upon the location and/or purpose of therespective joints in the articulated arm. In some examples, the lockthresholds may be adjusted based on a current, pose position, and/ororientation of the articulated arm. In some examples, the lock thresholdfor a respective joint may be adjusted and/or disabled when therespective joint is beyond a soft stop near an end of possible motionfor the respective joint. In some examples, the locked state may beactivated by default when the respective joint is beyond a soft stop. Insome examples, determination of whether the joint velocities are belowthe lock thresholds may be limited to a subset of the joints in thearticulated arm. In some examples, the lock thresholds may be adjustedbased on a size and/or a mass of the articulated arm. In some examples,the lock thresholds may be large enough to avoid accidental switching tothe lock due to errors in the joint sensors.

In some examples, the lock threshold may be between 0.1 and 10millimeters per second for a prismatic joint. In some examples, thethreshold value may be between 0.25 and 10 degrees per second for arotational joint.

In some embodiments, the joint velocities should remain below the lockthresholds for a predetermined period of time before switching thejoints of the articulated arm to the locked state. In some examples,joints of the articulated arm may be switched to the locked state whenthe joint velocities are below a corresponding lock thresholdcontinuously for the predetermined period of time. In some examples,joints of the articulated arm may be switch to the locked state when anaggregate, such as an average, of a respective joint velocity over thepredetermined period of time is below a respective lock threshold. Insome examples, a sliding window and/or exponential smoothing may be usedto determine the aggregate. In some examples, the predetermined periodof time may be set by an operator. In some examples, the predeterminedperiod of time may be between 100 and 200 milliseconds.

When the joint velocities remain above the lock thresholds, the jointvelocities are determined again using process 350. When the jointvelocities are below the lock thresholds, the joints of the articulatedarm are switched to the locked state using process 310.

As discussed above and further emphasized here, FIG. 3 is merely anexample which should not unduly limit the scope of the claims. One ofordinary skill in the art would recognize many variations, alternatives,and modifications. According to some embodiments, the breakawayclutching of method 300 may be disabled during certain operating modesof the articulated arm. In some examples, breakaway clutching may bedisabled when the articulated arm is in a hard locked state duringstorage and/or when a cart on which the articulated arm is mounted isbeing transported between locations. In some examples, breakawayclutching may be disabled when the articulated arm is in an actuatedteleoperation mode and/or executing commanded motion, such as whendocked to a patient. In some examples, disabling breakaway clutchingduring actuated operation may reduce the likelihood that manualinterference and/or collision with the articulated arm will interferewith the teleoperation and/or commanded motion and thus reduce thefurther likelihood of damaging objects being manipulated and/or causinginjury to a patient on which the articulated arm is being used. In someexamples, breakaway clutching may be adjusted, forced, or disabled whenany of the joints in the articulated arm is beyond a soft stop position.

Some examples of control units, such as control unit 130 may includenon-transient, tangible, machine readable media that include executablecode that when run by one or more processors (e.g., processor 140) maycause the one or more processors to perform the processes of method 300.Some common forms of machine readable media that may include theprocesses of method 300 are, for example, floppy disk, flexible disk,hard disk, magnetic tape, any other magnetic medium, CD-ROM, any otheroptical medium, punch cards, paper tape, any other physical medium withpatterns of holes, RAM, PROM, EPROM, FLASH-EPROM, any other memory chipor cartridge, and/or any other medium from which a processor or computeris adapted to read.

Although illustrative embodiments have been shown and described, a widerange of modification, change and substitution is contemplated in theforegoing disclosure and in some instances, some features of theembodiments may be employed without a corresponding use of otherfeatures. One of ordinary skill in the art would recognize manyvariations, alternatives, and modifications. Thus, the scope of theinvention should be limited only by the following claims, and it isappropriate that the claims be construed broadly and in a mannerconsistent with the scope of the embodiments disclosed herein.

What is claimed is:
 1. A device comprising: an arm comprising a firstjoint; and a control unit coupled to the arm and comprising one or moreprocessors; wherein the control unit: switches the first joint from afirst state of the first joint to a second state of the first joint inresponse to an external stimulus applied to the arm exceeding a firstthreshold, wherein movement of the first joint is more restricted in thefirst state of the first joint than in the second state of the firstjoint; and switches the first joint from the second state to the firststate in response to a speed associated with the first joint fallingbelow a speed threshold.
 2. The device of claim 1, wherein the externalstimulus applied to the arm is a stimulus detected on the first joint.3. The device of claim 1, wherein the external stimulus applied to thearm is a stimulus detected on a second joint of the arm.
 4. The deviceof claim 1, wherein the external stimulus is detected as: a positionerror in the first joint or a second joint of the arm; a force appliedto the first joint or the second joint; or a torque applied to the firstjoint or the second joint.
 5. The device of claim 1, wherein the controlunit further commands, on condition that the first joint is in thesecond state, the first joint to move to a commanded position based on acurrent actual position of the first joint, or to a commanded velocitybased on a current actual velocity of the first joint.
 6. The device ofclaim 1, wherein the control unit further switches the first joint fromthe second state to the first state when the speed of the first joint isbelow the speed threshold continuously for a predetermined period oftime.
 7. The device of claim 1, wherein the control unit furthercommands, on condition that the first joint is in the second state, thefirst joint to move to a current actual position of the first joint orto a commanded position between the current actual position and aprevious commanded position.
 8. The device of claim 1, wherein: thecontrol unit further commands, on condition that the first joint is inthe second state, the first joint to move to a commanded velocity basedon a current actual velocity of the first joint; and the commandedvelocity is lower than the current actual velocity.
 9. The device ofclaim 1, wherein the control unit further prevents switching of thefirst joint to the second state when an operating mode of the devicecorresponds to a transport mode, a teleoperation mode, a commandedmotion mode, or a docked to a patient mode.
 10. A method of controllinga device having an arm, the method comprising: switching, using acontrol unit having one or more processors, a first joint of the armfrom a first state of the first joint to a second state of the firstjoint in response to an external stimulus applied to the arm exceeding afirst threshold, wherein movement of the first joint is more restrictedin the first state of the first joint than in the second state of thefirst joint; and switching, using the control unit, the first joint fromthe second state to the first state in response to a speed associatedwith the first joint falling below a speed threshold.
 11. The method ofclaim 10, wherein the external stimulus applied to the arm is a stimulusdetected on the first joint.
 12. The method of claim 10, wherein theexternal stimulus applied to the arm is a stimulus detected on a secondjoint of the arm.
 13. The method of claim 12, wherein the externalstimulus is detected as: a position error in the first joint or thesecond joint; a force applied to the first joint or the second joint; ora torque applied to the first joint or the second joint.
 14. The methodof claim 10, further comprising commanding, on condition that the firstjoint is in the second state, the first joint to move to a commandedposition based on a current actual position of the first joint, or to acommanded velocity based on a current actual velocity of the firstjoint.
 15. The method of claim 14, wherein the commanded position is thecurrent actual position, or the commanded position is between thecurrent actual position and a previous commanded position, or thecommanded velocity is lower than the current actual velocity.
 16. Themethod of claim 10, further comprising preventing the switching of thefirst joint to the second state when an operating mode of the devicecorresponds to a transport mode, a teleoperation mode, a commandedmotion mode, or a docked to a patient mode.
 17. A non-transitorymachine-readable medium comprising a plurality of machine-readableinstructions which, when executed by one or more processors associatedwith a device, are adapted to cause the one or more processors toperform a method comprising: switching a first joint of an arm of thedevice from a first state of the first joint to a second state of thefirst joint in response to an external stimulus applied to the armexceeding a first threshold, wherein movement of the first joint is morerestricted in the first state of the first joint than in the secondstate of the first joint; and switching the first joint from the secondstate to the first state in response to a speed associated with thefirst joint falling below a speed threshold.
 18. The non-transitorymachine-readable medium of claim 17, wherein the external stimulusapplied to the arm is a stimulus detected on the first joint.
 19. Thenon-transitory machine-readable medium of claim 17, wherein the externalstimulus applied to the arm is a stimulus detected on a second joint ofthe arm.
 20. The non-transitory machine-readable medium of claim 17,wherein the method further comprises commanding, on condition that thefirst joint is in the second state, the first joint to move to acommanded position based on a current actual position of the firstjoint, or to a commanded velocity based on a current actual velocity ofthe first joint.